#include "buzz.h"

static uint8_t cnt;
extern osThreadId buzzTaskHandle;

/**
 * @brief  嗡鸣岐滴滴
 * @param  void
 * @retval void
 */
void buzz_Handle(void)
{	
	ulTaskNotifyTake(pdTRUE, portMAX_DELAY); 	/* 等待信号 */
	
	for (char i = 0; i < cnt; i++) {
		HAL_GPIO_WritePin(BUZZ_GPIO, BUZZ_GPIO_PIN, GPIO_PIN_SET);
		vTaskDelay(120);
		
		HAL_GPIO_WritePin(BUZZ_GPIO, BUZZ_GPIO_PIN, GPIO_PIN_RESET);
		vTaskDelay(80);
	}
}

/**
 * @brief  响几声嗡鸣器
 * @param  void
 * @retval void
 */
void buzz_didi(uint8_t num)
{
	if ( num > 6 ) {
		num = 6;
	}
	
	cnt = num;

	xTaskNotifyGive(buzzTaskHandle);
}

/******************* (C) COPYRIGHT 2023 FUYEBING*****END OF FILE************/

